interface EnumOption {
  value: string | number;
  label: string;
  [K: string]: any;
}
export const CONST_VALUE = {
  // 机构类型
  orgResourceType: [
    {
      value: 0,
      label: '公益',
    },
    {
      value: 1,
      label: '盈利',
    },
  ],
  // 机构类型2
  orgResourceType2: [
    {
      value: 0,
      label: '公益',
    },
    {
      value: 1,
      label: '精选',
    },
  ],
  // 机构类型
  orgResourceTypeAll: [
    {
      value: 'all',
      label: '全部',
    },
    {
      value: 0,
      label: '公益',
    },
    {
      value: 1,
      label: '精选',
    },
  ],
  // 活动类型
  activityTypeList: [
    {
      label: '公益',
      value: 0,
    },
    {
      label: '盈利',
      value: 1,
    },
  ],
  // 删除标志（0代表存在 1代表删除）
  isDelete: [
    {
      value: '0',
      label: '可用',
    },
    {
      value: '1',
      label: '不可用',
    },
  ],
  status1: [
    {
      value: '0',
      label: '停用',
    },
    {
      value: '1',
      label: '正常',
    },
  ],
  status: [
    {
      label: '停用',
      value: '0',
    },
    {
      label: '正常',
      value: '1',
    },
  ],
  /**
   * 审核状态 0-未审核 1-不通过 2-审核通过
   */
  auditingStatus: [
    {
      label: '未审核',
      value: 0,
      type: 'info',
    },
    {
      label: '不通过',
      value: 1,
      type: 'error',
    },
    {
      label: '审核通过',
      value: 2,
      type: 'success',
    },
  ],
  /**
   * 审核状态 用于提交审核 1-不通过 2-审核通过
   */
  auditingStatus2: [
    {
      label: '不通过',
      value: 1,
    },
    {
      label: '审核通过',
      value: 2,
    },
  ],
  /**
   * 发布状态 0-未发布 1-已发布
   */
  releaseStatus: [
    {
      label: '未发布',
      value: 0,
    },
    {
      label: '已发布',
      value: 1,
    },
  ],
  /**
   * 状态 0-下线 1-上线
   */
  onlineStatus: [
    {
      label: '下线',
      value: 0,
    },
    {
      label: '上线',
      value: 1,
    },
  ],
  // 性别
  sex: [
    {
      label: '男',
      value: '1',
    },
    {
      label: '女',
      value: '0',
    },
    {
      label: '未知',
      value: '2',
    },
  ],
  // 感谢信类别 0-参与类 1-传播类 2-规则类
  thankLetterType: [
    {
      label: '参与类',
      value: 0,
    },
    {
      label: '传播类',
      value: 1,
    },
    {
      label: '规则类',
      value: 2,
    },
  ],
  // 订单状态 订单状态 0-未支付 1-待参加（已支付） 2-待完成（已支付） 3-已完成 4-退款中 5-已退款 6-已取消
  orderType: [
    {
      label: '未支付',
      value: 0,
    },
    {
      label: '待参加',
      value: 1,
    },
    {
      label: '待完成',
      value: 2,
    },
    {
      label: '已完成',
      value: 3,
    },
    {
      label: '退款中',
      value: 4,
    },
    {
      label: '已退款',
      value: 5,
    },
    {
      label: '已取消',
      value: 6,
    },
  ],
  orderType1: [
    {
      label: '待买家付款',
      value: 0,
    },
    {
      label: '买家已付款',
      value: 1,
    },
    {
      label: '订单已完成',
      value: 3,
    },
    {
      label: '订单已取消',
      value: 6,
    },
    {
      label: '待处理退款',
      value: 4,
    },
    {
      label: '已退款',
      value: 5,
    },
  ],
  studentStatus: [
    {
      value: '',
      label: '全部',
    },
    {
      label: '可用',
      value: '1',
    },
    {
      label: '不可用',
      value: '0',
    },
  ],
};

const types = ['primary', 'success', 'info', 'warning', 'danger'];

function addColor() {
  Object.entries(CONST_VALUE).map(([key, value]) => {
    value.map((item: any, index) => {
      if (item.type) {
        return;
      }
      item.type = types[index % types.length];
    });
  });
}
addColor();
export function getEnumValue(
  type: keyof typeof CONST_VALUE,
  value: string
): EnumOption | undefined {
  let list = CONST_VALUE?.[type];
  return list?.find(item => item.value == value);
}
